package org.jeecg.entity.car;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.modules.system.entity.BaseEntity;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @Description: 车辆下线缴费记录
 * @Author: liurui
 * @Date:   2020-12-06
 * @Version: V1.0
 */
@Data
@TableName("car_offline_pay_record")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="car_offline_pay_record对象", description="车辆下线缴费记录")
public class CarOfflinePayRecord extends BaseEntity  {
    
	/**支付金额(单位:元)*/
	@Excel(name = "支付金额(单位:元)", width = 15)
    @ApiModelProperty(value = "支付金额(单位:元)")
	private java.math.BigDecimal amount;
	@ApiModelProperty(value = "应缴金额")
	private BigDecimal due;
	@ApiModelProperty(value = "减免金额")
	private BigDecimal reduceAmount;

	@Excel(name = "支付方式", width = 15)
	@ApiModelProperty(value = "支付方式(1.现金、2.微信、3.支付宝、4.网银、5.电子钱包、6.优免卷7.余额")
	private String payType;
	@ApiModelProperty(value = "支付模式 alipay:支付宝,weixinpay:微信,offline:线下")
	private String payMode;
	/**carId*/
	@Excel(name = "carId", width = 15)
    @ApiModelProperty(value = "carId")
	private String carId;
	/**车型描述(大型车、小型车)*/
	@Excel(name = "车型描述(大型车、小型车)", width = 15)
    @ApiModelProperty(value = "车型描述(大型车、小型车)")
	private String carSize;
	/**车牌号*/
	@Excel(name = "车牌号", width = 15)
    @ApiModelProperty(value = "车牌号")
	private String carNo;
	/**车类描述(临时、月租)*/
	@Excel(name = "车类描述(临时、月租)", width = 15)
    @ApiModelProperty(value = "车类描述(临时、月租)")
	private String carType;
	/**createBy*/
	@Excel(name = "createBy", width = 15)
    @ApiModelProperty(value = "createBy")
	private String createBy;
	/**记录创建时间*/
	@Excel(name = "记录创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "记录创建时间")
	private Date createTime;
	/**delFlag*/
	@Excel(name = "delFlag", width = 15)
    @ApiModelProperty(value = "delFlag")
	private String delFlag;
	/**入场时间*/
	@Excel(name = "入场时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "入场时间")
	private Date entranceTime;
	/**进场通道*/
	@Excel(name = "进场通道", width = 15)
    @ApiModelProperty(value = "进场通道")
	private String entrancegateId;
	/**出场时间*/
	@Excel(name = "出场时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "出场时间")
	private Date exitTime;
	/**出场通道*/
	@Excel(name = "出场通道", width = 15)
    @ApiModelProperty(value = "出场通道")
	private String exitgateId;
	/**id*/
	@TableId(type = IdType.ID_WORKER_STR)
    @ApiModelProperty(value = "id")
	private String id;
	/**车场ID*/
	@Excel(name = "车场ID", width = 15)
    @ApiModelProperty(value = "车场ID")
	private String outParkId;
	/**parkId*/
	@Excel(name = "parkId", width = 15)
    @ApiModelProperty(value = "parkId")
	private String parkId;
	/**车场*/
	@Excel(name = "车场", width = 15)
    @ApiModelProperty(value = "车场")
	private String parkName;
	/**projectId*/
	@Excel(name = "projectId", width = 15)
    @ApiModelProperty(value = "projectId")
	private String projectId;
	/**记录id*/
	@Excel(name = "记录id", width = 15)
    @ApiModelProperty(value = "记录id")
	private String recordId;

	/**放行类型 0 正常放行 1 收费放行 2 免费放行 3 异常放行*/
	@Excel(name = "放行类型 0 正常放行 1 收费放行 2 免费放行 3 异常放行", width = 15)
    @ApiModelProperty(value = "放行类型 0 正常放行 1 收费放行 2 免费放行 3 异常放行")
	private Integer releaseType;
	/**tenantId*/
	@Excel(name = "tenantId", width = 15)
    @ApiModelProperty(value = "tenantId")
	private String tenantId;
	/**updateBy*/
	@Excel(name = "updateBy", width = 15)
    @ApiModelProperty(value = "updateBy")
	private String updateBy;
	/**记录修改时间*/
	@Excel(name = "记录修改时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "记录修改时间")
	private Date updateTime;
}
